package cn.lls.service;

import cn.lls.entity.sys.RoleEntity;
import cn.lls.req.company.ConditionSearchRoleReq;
import cn.lls.req.company.RoleUpsertReq;
import cn.lls.vo.company.RoleInfo;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.transaction.annotation.Transactional;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 划水艺术家
 * @since 2022-11-15
 */
public interface IRoleService extends IService<RoleEntity> {


    /*
        根据 Id 删除角色
     */
    void delRole(Long roleId);

    IPage<RoleInfo> getRoleInfoByPageAndCondition( ConditionSearchRoleReq conditionSearchRoleReq);

    /*&
    新增、修改角色、操作两张表，加入事务处理
     */
    @Transactional
    void addRole(RoleUpsertReq roleUpsertReq);

    /*&
    修改、修改角色、操作两张表，加入事务处理
     */
    @Transactional
    void updateRole(RoleUpsertReq roleUpsertReq);
}
